From 1b7efe47fe0ccd3fe42dd4af0ac6258b33956756 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 3 Jul 2004 02:43:06 +0000 Subject: [PATCH] Properly align mask and pixbuf if a subarea is exposed. (#135423, fix by Fri Jul 2 22:41:27 2004 Matthias Clasen * gtk/gtkimage.c (gtk_image_expose): Properly align mask and pixbuf if a subarea is exposed. (#135423, fix by John Ehresman) --- ChangeLog | 5 +++++ ChangeLog.pre-2-10 | 5 +++++ ChangeLog.pre-2-6 | 5 +++++ ChangeLog.pre-2-8 | 5 +++++ gtk/gtkimage.c | 6 ++++-- 5 files changed, 24 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 335dc6e6f7..11aad041e2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Jul 2 22:41:27 2004 Matthias Clasen + + * gtk/gtkimage.c (gtk_image_expose): Properly align mask and + pixbuf if a subarea is exposed. (#135423, fix by John Ehresman) + Fri Jul 2 21:40:21 2004 Matthias Clasen * gtk/gtknotebook.c (gtk_notebook_realize): Add scroll events diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 335dc6e6f7..11aad041e2 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,8 @@ +Fri Jul 2 22:41:27 2004 Matthias Clasen + + * gtk/gtkimage.c (gtk_image_expose): Properly align mask and + pixbuf if a subarea is exposed. (#135423, fix by John Ehresman) + Fri Jul 2 21:40:21 2004 Matthias Clasen * gtk/gtknotebook.c (gtk_notebook_realize): Add scroll events diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 335dc6e6f7..11aad041e2 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,8 @@ +Fri Jul 2 22:41:27 2004 Matthias Clasen + + * gtk/gtkimage.c (gtk_image_expose): Properly align mask and + pixbuf if a subarea is exposed. (#135423, fix by John Ehresman) + Fri Jul 2 21:40:21 2004 Matthias Clasen * gtk/gtknotebook.c (gtk_notebook_realize): Add scroll events diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 335dc6e6f7..11aad041e2 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,8 @@ +Fri Jul 2 22:41:27 2004 Matthias Clasen + + * gtk/gtkimage.c (gtk_image_expose): Properly align mask and + pixbuf if a subarea is exposed. (#135423, fix by John Ehresman) + Fri Jul 2 21:40:21 2004 Matthias Clasen * gtk/gtknotebook.c (gtk_notebook_realize): Add scroll events diff --git a/gtk/gtkimage.c b/gtk/gtkimage.c index 24708d53ea..4b45182c82 100644 --- a/gtk/gtkimage.c +++ b/gtk/gtkimage.c @@ -1221,7 +1221,7 @@ gtk_image_expose (GtkWidget *widget, GtkMisc *misc; GdkRectangle area, image_bound; gfloat xalign; - gint x, y; + gint x, y, mask_x, mask_y; GdkBitmap *mask; GdkPixbuf *pixbuf; gboolean needs_state_transform; @@ -1253,6 +1253,8 @@ gtk_image_expose (GtkWidget *widget, y = floor (widget->allocation.y + misc->ypad + ((widget->allocation.height - widget->requisition.height) * misc->yalign) + 0.5); + mask_x = x; + mask_y = y; image_bound.x = x; image_bound.y = y; @@ -1398,7 +1400,7 @@ gtk_image_expose (GtkWidget *widget, if (mask) { gdk_gc_set_clip_mask (widget->style->black_gc, mask); - gdk_gc_set_clip_origin (widget->style->black_gc, x, y); + gdk_gc_set_clip_origin (widget->style->black_gc, mask_x, mask_y); } if (gdk_rectangle_intersect (&image_bound, &area, &image_bound)) -- 2.30.2